namespace Integrity
{
  public interface IReferenceProp<in TOwner, TValue> : IReferenceProp
    where TValue : class
    where TOwner : class
  {
    TValue GetValue(TOwner owner);
    void SetValue(TOwner owner, TValue value);
    void Reset(TOwner owner);
  }
}